Từ điển học thuật Kỹ thuật và công nghệ

Tính toán phân tán

Tiếng AnhDistributed computing

Tính toán phân tán (Distributed computing) là phân ngành khoa học máy tính nghiên cứu các hệ thống tính toán gồm nhiều thực thể phần mềm và phần cứng độc lập (nút mạng) kết nối qua mạng viễn thông, phối hợp thông điệp để thực hiện chung một tác vụ giải thuật phức tạp.

319 lượt xem Cập nhật 8/9/2026

Tính toán phân tán (Distributed computing) là phân ngành khoa học máy tính nghiên cứu các hệ thống gồm nhiều nút tính toán độc lập kết nối qua mạng máy tính, phối hợp hoạt động thông qua truyền thông điệp để cùng thực hiện các tác vụ quy mô lớn như một hệ thống thống nhất duy nhất.

Nguyên lý kiến trúc và động lực phát triển

Tính toán phân tán ra đời nhằm giải quyết giới hạn vật lý không thể vượt qua của các siêu máy tính đơn khối (monolithic supercomputers): giới hạn tản nhiệt chip bán dẫn, định luật Amdahl và chi phí chế tạo phần cứng tăng theo cấp số nhân. Thay vì xây dựng một cỗ máy đơn lẻ cực mạnh, tính toán phân tán liên kết hàng ngàn đến hàng triệu máy tính thương mại phổ thông (commodity hardware) liên kết với nhau qua mạng cục bộ hoặc Internet.

Hệ thống phân tán vận hành dựa trên nguyên tắc trừu tượng hóa: các tài nguyên tính toán (CPU, RAM), lưu trữ dữ liệu và dịch vụ được phân tán vật lý ở nhiều vị trí địa lý khác nhau nhưng hiển thị trước mắt người dùng và ứng dụng như một hệ thống duy nhất, trong suốt (transparency) về vị trí, truy cập, di trú và lỗi phần cứng.

Định lý CAP và các mô hình nhất quán dữ liệu

Nền tảng lý thuyết quan trọng nhất chi phối thiết kế của mọi hệ thống phân tán là Định lý CAP do Eric Brewer đề xuất năm 2000 và được Seth Gilbert cùng Nancy Lynch chứng minh toán học năm 2002:

Thành tố Định lý CAP Khái niệm định nghĩa Ý nghĩa giới hạn hệ thống
Tính nhất quán (Consistency - C) Mọi thao tác đọc dữ liệu đều nhận được giá trị ghi mới nhất hoặc trả về lỗi; mọi nút trong mạng nhìn thấy cùng một trạng thái dữ liệu đồng nhất tại cùng thời điểm. Trong một mạng phân tán luôn tiềm ẩn nguy cơ phân mảnh mạng (Network Partition - P), hệ thống chỉ có thể chọn lựa đồng thời hai trong ba thuộc tính: CP (Nhất quán & Chịu phân mảnh) hoặc AP (Sẵn sàng & Chịu phân mảnh). Không thể tồn tại hệ thống CA hoàn hảo khi có phân mảnh mạng.
Tính sẵn sàng (Availability - A) Mọi yêu cầu gửi đến nút không bị lỗi đều nhận được phản hồi hợp lệ (không lỗi), dù dữ liệu trả về có thể chưa phải là phiên bản mới nhất. Được ưu tiên tuyệt đối trong các hệ thống thương mại điện tử và mạng xã hội quy mô lớn (DynamoDB, Cassandra) theo mô hình "nhất quán cuối cùng" (Eventual Consistency).
Khả năng chịu phân mảnh (Partition tolerance - P) Hệ thống vẫn tiếp tục duy trì hoạt động ngay cả khi các kết nối mạng giữa các cụm nút tính toán bị đứt gãy hoặc mất gói tin hàng loạt. Thuộc tính bắt buộc phải có của mọi hệ thống phân tán vật lý thực tế trên diện rộng.

Các thuật toán đồng thuận phân tán (Distributed Consensus)

Trọng tâm kỹ thuật phức tạp nhất của tính toán phân tán là đạt được sự đồng thuận giữa các nút độc lập khi không có đồng hồ vật lý dùng chung (theo bài toán thời gian logic của Leslie Lamport) và khi các nút có thể gặp sự cố sập nguồn hoặc truyền tin sai lệch (Bài toán các vị tướng Byzantine - Byzantine Generals Problem):

  • Thuật toán Paxos: Do Leslie Lamport đề xuất, là giao thức đồng thuận kinh điển đảm bảo tính an toàn (safety) tuyệt đối trong môi trường mạng có thể trễ hoặc mất gói tin nhưng không có lỗi giả mạo độc hại.
  • Thuật toán Raft: Được Ongaro và Ousterhout thiết kế nhằm thay thế Paxos với cấu trúc trực quan dễ hiểu hơn, phân rã tiến trình đồng thuận thành ba bài toán con độc lập: bầu chọn lãnh đạo (Leader election), sao chép nhật ký (Log replication), và đảm bảo tính an toàn trạng thái. Raft là xương sống của các hệ thống điều phối phân tán hiện đại như etcd, Consul và Kubernetes.
  • Đồng thuận Byzantine (BFT & Proof-of-Work): Giải quyết bài toán đồng thuận khi có các nút độc hại cố tình phá hoại hoặc giả mạo dữ liệu; nền tảng kiến trúc của công nghệ chuỗi khối (Blockchain) và sổ cái phân tán.

Mô hình lập trình xử lý dữ liệu lớn: MapReduce và Spark

Cuộc cách mạng dữ liệu lớn (Big Data) được thúc đẩy bởi sự ra đời của các mô hình lập trình phân tán trừu tượng hóa sự phức tạp của hạ tầng mạng:

  • MapReduce và Hadoop HDFS: Do Google giới thiệu, chia bài toán tính toán lớn thành hai hàm nguyên thủy: hàm Map (chia nhỏ dữ liệu và ánh xạ thành các cặp khóa-giá trị) và hàm Reduce (tổng hợp và tính toán kết quả trên các khóa tương đồng). Hệ thống tập tin phân tán HDFS tự động sao chép dữ liệu thành nhiều bản sao trên các nút khác nhau để đảm bảo khả năng chịu lỗi.
  • Apache Spark và RDD: Đột phá vượt bậc nhờ mô hình tập dữ liệu phân tán có khả năng phục hồi (Resilient Distributed Datasets - RDD) và cơ chế tính toán trong bộ nhớ RAM (in-memory computing), giúp tăng tốc độ xử lý dữ liệu lớn và thuật toán học máy lên gấp 10-100 lần so với MapReduce dựa trên ổ đĩa cứng.

Xu hướng phát triển: Điện toán đám mây và Điện toán biên

Tính toán phân tán hiện nay là nền tảng cốt lõi định hình toàn bộ hạ tầng Điện toán đám mây (Cloud Computing - AWS, Google Cloud, Azure), kiến trúc Microservices container hóa với Docker/Kubernetes, và mô hình Serverless computing. Xu hướng mới nhất là sự mở rộng sang Điện toán biên (Edge Computing) và Điện toán sương mù (Fog Computing), đưa năng lực xử lý phân tán từ các trung tâm dữ liệu tập trung ra sát rìa mạng nơi các thiết bị IoT và xe tự hành hoạt động, giảm độ trễ xử lý xuống mức mili-giây đáp ứng nhu cầu tương lai.

Câu hỏi thường gặp

Định lý CAP của Eric Brewer phát biểu giới hạn gì trong hệ thống dữ liệu phân tán?

Hệ thống phân tán chỉ có thể đảm bảo đồng thời tối đa hai trong ba thuộc tính: Tính nhất quán dữ liệu (Consistency), Tính sẵn sàng phục vụ (Availability), và Khả năng chịu đựng phân vùng mạng (Partition tolerance).

Thuật toán đồng thuận Paxos và Raft giải quyết bài toán gì trong tính toán phân tán?

Giải quyết bài toán đạt được sự thống nhất chung giữa các nút mạng phân tán về một giá trị hoặc chuỗi nhật ký lệnh (state machine replication) ngay cả khi có một số nút bị lỗi mạng hoặc sập nguồn.

Mô hình lập trình MapReduce tối ưu hóa việc xử lý dữ liệu lớn như thế nào?

MapReduce chia bài toán thành hai pha: pha Map phân phối dữ liệu đầu vào cho các cụm máy xử lý song song độc lập, và pha Reduce tổng hợp các kết quả trung gian lại để tạo đầu ra cuối cùng, tự động quản lý khả năng chịu lỗi và cân bằng tải.

Tài liệu tham khảo

  1. Soundarabai, Raj (2021). Fault Tolerance Algorithms for Distributed Computing. Cloud Reliability Engineering. DOI: 10.1201/9781003030973-12
  2. Rajamandrapu (2025). Improving Fault Tolerance in Cloud-Based Systems Through Distributed Ledger Technology. AVE Trends in Intelligent Computing Systems. DOI: 10.64091/atics.2025.000105
  3. Raynal (2010). Consensus Algorithms for Asynchronous Systems Enriched with Various Failure Detectors. Synthesis Lectures on Distributed Computing Theory Communication and Agreement Abstractions for Fault-Tolerant Asynchronous Distributed Systems. DOI: 10.1007/978-3-031-02000-1_6